By way of background, device drivers are programs or routines which control or manage the flow of data to and from I/O devices. The drivers form part of and interact with other portions of an operating system. An operating system normally includes a basic set of device drivers for I/O devices, such as a keyboard, fixed and floppy disks, display, and printer, commonly used in a personal computer. When an I/O device is added to a data processing system, and such device is not operable under an existing driver, a new driver must be added to the system in order to use the device. Such new driver is customarily supplied by the maker of the I/O device and is installed in the system in accordance with procedures established by the operating system. In personal computers operating with IBM DOS or OS/2 operating systems, such drivers are installed, when the computers are started or rebooted, using commands or instructions in a CONFIG.SYS file.
Typically, device drivers are created for use with a particular operating system. A. M. Mizell, "Understanding device drivers in Operating System/2", IBM Systems Journal, Vol. 27, No. 2, 1988, pp. 170-184, describes the relationships of device drivers to the IBM OS/2 operating system. Such operating system provides multitasking operations in which different programs are able to concurrently use a single device, and one or more programs uses different devices at the same time. Quite obviously, the device drivers and device management routines are quite complex, and they have usually been operating system dependent. A device driver written for one operating system cannot be used with another operating system without extensive modifications.
High performance models of the IBM PS/2 personal computers include a bus designed in accordance with Micro Channel architecture. (IBM, OS/2, PS/2 and Micro Channel are trademarks of International Business Machines Corporation). Such bus is referred to hereinafter as an "MC bus" and provides the means by which additional I/O devices and subsystems can be connected to the personal computers. A SCSI (Small Computer System Interface) bus is a bus designed in accordance with SCSI architecture, and provides a standardized design for the attachment thereto of I/O devices known as SCSI devices, that is, devices specifically designed for attachment to a SCSI bus. SCSI architecture defines a SCSI command set for accessing SCSI devices. A SCSI adapter and a SCSI ABIOS (advanced basic input/output operating system) are commercially available and allow SCSI devices to be connected to PS/2 computers through an MC bus. A device driver system for such SCSI devices is disclosed in U.S. patent application Ser. No. 07/654,441, filed Feb. 12, 1991, for SCSI DEVICE DRIVERS FOR MULTITASKING OPERATING SYSTEM, by D. T. Feriozi Jr. et al, and assigned to the assignee of the invention claimed herein. In the system disclosed in such application, the SCSI device drivers were created specifically for use with OS/2 operating system, and such drivers would have to be greatly modified for use with other operating systems.